:root,
:root[data-theme=''],
:root[data-theme='dark'] {
    /*
      Customisation here for both Light and Dark themes
    */
    --custom-font-base: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
    --custom-font-code: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    --custom-font-size-base: 1rem;
    --custom-border-radius: 3px;
    --custom-border-radius-md: 6px;
    --custom-primary: #00a4b8;
    --custom-primary-dark: #0094a6;
    --custom-primary-darker: #008b9c;
    --custom-primary-darkest: #007381;
    --custom-primary-light: #00b4ca;
    --custom-primary-lighter: #00bdd4;
    --custom-primary-lightest: #00d5ef;
    --custom-background-color: #1f1f1f;
    --custom-background-color-highlight: #fff;
    --custom-background-color-diff: #f5f6f7;
    --custom-background-color-diff-1: #eee;
    --custom-background-color-diff-2: #ccc;
    --custom-content-color: #1f1f1f;
    --custom-content-color-light: #484848;
    --custom-content-color-lightest: #333;
    --custom-content-color-emphasis: #000;
    --custom-border-color: #e0e0e0;
    --custom-color-subtle: #ccc;
    --custom-color-orange-100: #FDF0EA;
    --custom-color-orange-200: #FBE2D5;
    --custom-color-orange-300: #F9D3C0;
    --custom-color-orange-400: #F5B796;
    --custom-color-orange-500: #F08B57;
    --custom-color-orange-600: #EC6E2D;
    --custom-color-orange-700: #D75614;
    --custom-color-orange-800: #A93C04;
    --custom-shadow-lw: 0 3px 5px 0px rgba(0, 0, 0, 0.1);
    --custom-shadow-md: 0 3px 5px 0px rgba(0, 0, 0, 0.1);
    --custom-shadow-tl: 0 12px 28px 0 rgba(0, 0, 0, 0.2), 0 2px 4px 0 rgba(0, 0, 0, 0.1);
    --custom-shadow-xl: 0 30px 60px 0 rgba(0, 0, 0, 0.1);

    /*
      Infirma overrides with customisation
    */
    /* Colors */
    --ifm-color-content: var(--custom-content-color);
    /*--ifm-heading-color: var(--custom-content-color);*/
    --ifm-background-color: var(--custom-background-color);
    --ifm-sidebar-background: var(--custom-background-color);
    --ifm-color-content-secondary: var(--custom-content-color-light);
    --ifm-code-background: var(--custom-background-color-diff);
    --ifm-code-background-dark: #2a2a2a;
    --ifm-code-color: var(--custom-content-color);
    --ifm-color-warning: var(--custom-color-orange-600);

    /* Primary */
    --ifm-color-primary-darkest: var(--custom-primary-darkest);
    --ifm-color-primary-darker: var(--custom-primary-darker);
    --ifm-color-primary-dark: var(--custom-primary-dark);
    --ifm-color-primary: var(--custom-primary);
    --ifm-color-primary-light: var(--custom-primary-light);
    --ifm-color-primary-lighter: var(--custom-primary-lighter);
    --ifm-color-primary-lightest: var(--custom-primary-lightest);

    /* Info */
    --ifm-color-info-darker: var(--custom-background-color-diff-2);
    --ifm-color-info-dark: var(--custom-background-color-diff-1);
    --ifm-color-info: var(--custom-background-color-diff);

    /* Fonts */
    --ifm-font-color-base: var(--custom-content-color);
    --ifm-font-family-base: var(--custom-font-base);
    --ifm-font-family-monospace: var(--custom-font-code);
    --ifm-heading-font-family: var(--custom-font-base);
    --ifm-font-size-base: var(--custom-font-size-base);
    --ifm-heading-font-weight: 700;
    --ifm-font-weight-bold: 700;

    /* Globals */
    --ifm-global-shadow-lw: var(--custom-shadow-lw);
    --ifm-global-shadow-md: var(--custom-shadow-md);
    --ifm-global-shadow-tl: var(--custom-shadow-tl);
    --ifm-contents-border-color: var(--custom-border-color);
    --ifm-hr-border-color: var(--custom-border-color);
    --ifm-code-border-radius: var(--custom-border-radius);
    --ifm-button-border-radius: var(--custom-border-radius);
    --ifm-col-spacing-vertical: 0.5rem;
    --ifm-link-hover-decoration: none;

    /* Buttons */
    --ifm-button-background-color: var(--custom-background-color);
    /* --ifm-button-color: var(--custom-content-color); Not great - changes the green buttons to have black text */

    /* Navbar */
    --ifm-navbar-background-color: var(--custom-background-color);

    /* Footer */
    --ifm-footer-background-color: var(--custom-background-color);
    --ifm-footer-color: var(--custom-content-color) !important;
    --ifm-footer-link-color: var(--custom-content-color) !important;
    --ifm-footer-title-color: var(--custom-content-color) !important;

    /* Hero */
    --ifm-hero-background-color: var(--custom-background-color);
    --ifm-hero-text-color: var(--custom-content-color);

    /* Sidebar */
    --ifm-sidebar-border-color: var(--custom-border-color);
    --ifm-menu-color-active: var(--custom-primary);

    /* Panel */
    --ifm-panel-border-color: var(--custom-border-color);
    --ifm-panel-border-color-active: var(--custom-primary);
    --ifm-panel-background-solid: var(--custom-background-color);

    /* Card */
    --ifm-card-background-color: var(--custom-background-color);
    --ifm-card-border-radius: var(--custom-border-radius-md);

    /* Tables */
    --ifm-table-border-color: var(--custom-border-color);
    --ifm-table-stripe-background: var(--custom-background-color-diff);

    /* Alerts */
    /*--ifm-alert-color: var(--custom-color-orange-600);*/
}

:root {
    --ifm-container-width: 1920px !important;
    --ifm-container-width-xl: 1420px !important;
    --ifm-table-cell-padding: 0.5em !important;
    /*--doc-sidebar-width: 360px !important;*/
}

:root[data-theme='light'] {
    --custom-background-color: #eeeeee;
}

:root[data-theme='dark'] {
    --custom-primary: #00a4b8;
    --custom-primary-dark: #0094a6;
    --custom-primary-darker: #008b9c;
    --custom-primary-darkest: #007381;
    --custom-primary-light: #00b4ca;
    --custom-primary-lighter: #00bdd4;
    --custom-primary-lightest: #00d5ef;
    --custom-color-subtle: #484848;

    --custom-background-color: #1f1f1f;
    --custom-background-color-highlight: #2a2a2a;
    --custom-background-color-diff: #2a2a2a;
    --custom-background-color-diff-1: #484848;
    --custom-background-color-diff-2: #666;
    --custom-content-color: #ddd;
    --custom-content-color-light: #aaa;
    --custom-content-color-lightest: #fefefe;
    --custom-content-color-emphasis: #fff;
    --custom-border-color: #444444;
    --custom-shadow-lw: 0 0 3px 3px rgba(0, 0, 0, 0.2);
    --custom-shadow-md: 0 0 5px 5px rgba(0, 0, 0, 0.3);
    --custom-shadow-tl: 0 12px 28px 0 rgba(0, 0, 0, 0.2), 0 2px 4px 0 rgba(0, 0, 0, 0.1);
    --custom-shadow-xl: 0 30px 60px 0 rgba(0, 0, 0, 0.5);

    --ifm-color-gray-100: rgba(224, 235, 247, 0.9);
    --ifm-color-gray-150: rgba(224, 235, 247, 0.85);
    --ifm-color-gray-200: rgba(224, 235, 247, 0.8);
    --ifm-color-gray-300: rgba(224, 235, 247, 0.75);
    --ifm-color-gray-400: rgba(224, 235, 247, 0.7);
    --ifm-color-gray-500: rgba(224, 235, 247, 0.65);
    --ifm-color-gray-600: rgba(224, 235, 247, 0.6);
    --ifm-color-gray-700: rgba(224, 235, 247, 0.55);
    --ifm-color-gray-800: rgba(224, 235, 247, 0.5);
    --ifm-color-gray-900: rgba(224, 235, 247, 0.45);
    --ifm-color-secondary-darker: #000;
    --ifm-color-secondary-dark: #1f1f1f;
    --ifm-color-secondary: #2a2a2a;
    --ifm-color-secondary-light: #2f2f2f;
    --ifm-color-secondary-lighter: #313131;
    --ifm-color-secondary-lightest: #333333;

    /* Button */
    --ifm-button-background-color: var(--custom-background-color-highlight);

    /* Card */
    --ifm-card-background-color: var(--custom-background-color-highlight);
}


.alert {
    border-radius: inherit;
    border-width: inherit;
    border-color: inherit;
    border-style: inherit;
    color: inherit;
}

.admonition {
    margin-bottom: 1em;
    padding: 15px 30px 15px 15px;
}

.admonition h5 {
    margin-top: 0;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.admonition-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.2em;
}

.admonition-icon svg {
    display: inline-block;
    width: 22px;
    height: 22px;
    stroke-width: 0;
}

.admonition-content > :last-child {
    margin-bottom: 0;
}

/* default for custom types */
.admonition {
    background-color: rgba(52, 152, 219, 0.1);
    border-left: 8px solid #3498db;
}

.admonition h5 {
    color: #3498db;
}

.admonition .admonition-icon svg {
    stroke: #3498db;
    fill: #3498db;
}

/** native types */
.admonition-caution {
    background-color: rgba(230, 126, 34, 0.1);
    border-left: 8px solid #e67e22;
}

.admonition-caution h5 {
    color: #e67e22;
}

.admonition-caution .admonition-icon svg {
    stroke: #e67e22;
    fill: #e67e22;
}

.admonition-tip {
    background-color: rgba(46, 204, 113, 0.1);
    border-left: 8px solid #2ecc71;
}

.admonition-tip h5 {
    color: #2ecc71;
}

.admonition-tip .admonition-icon svg {
    stroke: #2ecc71;
    fill: #2ecc71;
}

.admonition-warning {
    background-color: rgba(231, 76, 60, 0.1);
    border-left: 8px solid #e74c3c;
}

.admonition-warning h5 {
    color: #e74c3c;
}

.admonition-warning .admonition-icon svg {
    stroke: #e74c3c;
    fill: #e74c3c;
}

.admonition-important {
    background-color: rgba(52, 152, 219, 0.1);
    border-left: 8px solid #3498db;
}

.admonition-important h5 {
    color: #3498db;
}

.admonition-important .admonition-icon svg {
    stroke: #3498db;
    fill: #3498db;
}

.admonition-note {
    background-color: rgba(241, 196, 15, 0.1);
    border-left: 8px solid #f1c40f;
}

.admonition-note h5 {
    color: #f1c40f;
}

.admonition-note .admonition-icon svg {
    stroke: #f1c40f;
    fill: #f1c40f;
}

@media (min-width: 997px) {
    .container {
        /*margin-left: 1em;*/
        max-width: var(--ifm-container-width);
    }
}

@media (min-width:1440px) {
    .container {
        max-width:var(--ifm-container-width-xl);
    }
}

.footer {
    color: var(--ifm-color-gray-200);
}

.github-link:before {
    background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat;
    content:"";
    display:flex;
    height:24px;
    width:24px
}
[data-theme=dark] .github-link:before {
    background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat
}

.sponsorship-link:before {
    background:url("") no-repeat;
    content:"";
    display:inline-flex;
    height:24px;
    width:24px;
}

.sponsorship-link, .github-link {
    align-items: center;
    display: flex;
}

.sponsorship-link:before,
.github-link:before {
    align-self:center;
    color:var(--ifm-navbar-link-color);
    height:24px;
    margin-right:.5rem;
    width:24px;
    content:"";
}

@keyframes a {
    0%,
    40%,
    80%,
    to {
        transform:scale(1)
    }
    20%,
    60% {
        transform:scale(1.15)
    }
}
.sponsorship-link:hover::before {
    animation: 2s infinite a;
}

.sponsorship-link:hover {
    color: #c96198;
}

.iconExternalLink {
    display: none;
}

.navbar__item > svg:first-child {
    display: none;
}
